package cn.edu.scau.cmi.ema.dao;

import java.util.Set;

import org.springframework.dao.DataAccessException;
import cn.edu.scau.cmi.ema.domain.*;
import cn.edu.scau.cmi.ema.domain.base.CmiPagination;
import java.math.BigDecimal;
import java.util.Calendar;

public interface FoodbatchDAO extends JpaDao<Foodbatch> {

	public Foodbatch findFoodbatchById(Integer id) throws DataAccessException;

	public Foodbatch findFoodbatchById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByName(String name) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByName(String name, int startResult, int maxRows) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByNameContaining(String name_1) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByBatch(String batch) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByBatch(String batch, int startResult, int maxRows) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByBatchContaining(String batch_1) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByBatchContaining(String batch_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByDate(Calendar date) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByDate(Calendar date, int startResult, int maxRows) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByPrice(BigDecimal price) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByPrice(BigDecimal price, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByDescription(String description) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchByDescriptionContaining(String description_1, int startResult, int maxRows)
			throws DataAccessException;

	public Foodbatch findFoodbatchByPrimaryKey(Integer id) throws DataAccessException;

	public Foodbatch findFoodbatchByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Foodbatch> findAllFoodbatchs() throws DataAccessException;

	public Set<Foodbatch> findAllFoodbatchs(int startResult, int maxRows) throws DataAccessException;

	public Set<Foodbatch> findFoodbatchsByDetectmethod(Integer detectmethodId, int start, int max);

	public Set<Foodbatch> findFoodbatchsByFood(Integer foodId, int start, int max);

	public Set<Foodbatch> findFoodbatchsByUnit(Integer unitId, int start, int max);

	public Set<Foodbatch> findFoodbatchByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatch> findFoodbatchsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Foodbatch findFoodbatchByPhysicalPrimaryKey(Integer foodId, Calendar date) throws DataAccessException;

	public Foodbatch findFoodbatchByPhysicalPrimaryKey(Integer foodId, Calendar date, int startResult, int maxRows)
			throws DataAccessException;
}
